

public class PhoneTest {

    public static void main(String[] args) {

        //实例化手机卡类, 并调用show方法显示(卡号 + 用户名 + 当前余额)
        PhoneCard phoneCard = new PhoneCard(
                PhoneCardType.BIGCARD,
                "13269657390",
                "wulimin",
                "123456",
                78.5,
                155,
                500
        );
        phoneCard.show();

        System.out.println("--------------------------------");

        //实例化通话套餐类, 显示当前套餐的信息; 通话套餐类实现了通话服务接口, 调用通话服务接口实现通话
        PhonePackage phonePackage = new PhonePackage(155, 78, 100.0);
        phonePackage.show();
        //调用通话服务接口
        phonePackage.callService(phonePackage.getCallTime(), phoneCard.getCardType());
        System.out.println("--------------------------------");

        //实例化上网套餐类, 调用show方法显示套餐信息; 上网套餐类实现了上网服务接口, 调用上网服务接口来上网
        InternetPackage internetPackage = new InternetPackage(500, 100.0);
        internetPackage.show();
        //调用上网服务接口实现上网
        internetPackage.serviceInternet(internetPackage.getInternetTraffic(), phoneCard.getCardType());
        System.out.println("--------------------------------");

        //实例化用户消费信息类, 计算用户的消费金额
        ConsumerInformation consumerInformation = new ConsumerInformation(phoneCard, phonePackage, internetPackage);
        consumerInformation.show();
        System.out.println("--------------------------------");

    }
}
